home *** CD-ROM | disk | FTP | other *** search
/ Geek 6 / Geek-006.iso / mac / mu-zak-16.hqx / µZak About next >
Text File  |  1997-02-21  |  12KB  |  128 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. What it is:
  9.  
  10. ╡Zak is a utility for playing the sound tracks of QuickTime¬ Movies. Just drag the icon of some QuickTime movies, some folders containing QuickTime movies, or even the icon of your hard-disk on ╡Zak, and enjoy the music. ╡Zak can also play Finder sounds, AIFF and AIFC files, raw MIDI files (of type 'Midi'), SUN ╡LAW files (file type ULAW), Windows .WAV (file type WAVE) files, TEXT files, and MOD files.
  11. Preferences settings are pretty self-explanatory. One thing to look out for is the Cancel current button. It removes the currently playing file from the queue, even if Requeue files after playing is checked. Extra information can be obtained by turning on Balloon help.
  12. Preferences are saved automatically when the program is quit.
  13. ╡Zak is Internet Config aware. ╡Zak uses the Internet Config database when it is asked to process files of type ╘BINA╒ or ╘????╒, or ╘TEXT╒ files which do not appear to contain proper text. For such files, an attempt is made to detect the ╘proper type╒ by looking at the file extension. This comes in handy when downloaded files do not have the proper type, but the right extension.
  14. ╡Zak Collection Starter is an AppleScript which can be used to start ╡Zak with your favourite set of files. To configure it drop a set of files and/or folders on ╡Zak Collection Starter. When ╡Zak Collection Starter is later run (by double-clicking the AppleScript) it asks ╡Zak to open these items. ╡Zak Collection Starter can even be put in the Startup Items folder, thus providing you with an automatic jukebox. ╡Zak Collection Starter requires AppleScript. If you want to store different sets of movies simply make as many copies of ╡Zak Collection Starter as you need.
  15. An alternative way to start files with ╡Zak is by dropping them on ╡Zak╒s preferences window.
  16. Finally, if the creator of a file is set to ╘╡Zak╒, the file will be opened with ╡Zak when it is double-clicked in the Finder. This can be done with ResEdit, or with one of a zillion utilities you can find on the web.
  17. ╡Zak Recorder is a tiny application which allows you to record AIFF files. Its main virtue is that it can record AIFF files directly to disk. This allows one to create sound files which are larger than available memory.
  18.  
  19. Disclaimer:
  20.  
  21. If it works, it works; if it doesn't, it doesn't. If it does what you think it does, you're happy; if it doesn't, don't blame me. It is free, and worth every penny.
  22.  
  23. What it needs:
  24.  
  25. ╡Zak uses AppleEvents, so it needs System 7. Moreover, ╡Zak needs the thread Manager, which is standard in System 7.5 or later, and is available as an extension on System 7 and later. Also, ╡Zak uses the Drag Manager. To play QuickTime movies, ╡Zak needs QuickTime¬. To play MIDI files, QuickTime¬ 2.0 or later and the QuickTime Musical Instruments file are needed. To play SUN ╡LAW files and Windows .WAV files ╡Zak needs an import component for these file types. The easiest way to obtain these is by installing QuickTime 2.1 or later. To ╘play╒ TEXT files, ╡Zak needs a version of the Speech Manager. Of course, it is best to use QuickTime 2.5.
  26.  
  27. AppleScript support:
  28.  
  29. ╡Zak is scriptable and recordable. There are some rough edges to this, though. Ones I am aware of are:
  30.  
  31. Ñ The song queue can not be accessed at all.
  32. Ñ The position of the preferences window is read-only.
  33. Ñ Playback volumes must be specified by number (1╔7) rather than by name (softest╔loudest)
  34. Ñ The ╘Play MOD files╒ flag may disappear from a future version. It is there because I am not sure whether the current implementation of MOD file playback is 100% stable. The ╘Known problems╒ section has some more information on this.
  35.  
  36. Known problems:
  37.  
  38. Ñ ╡Zak may hang your machine when processing certain raw MIDI files (part four of the Gutenberg project╒s version of Beethoven╒s fifth symphony is an example). This is a bug in QuickTime 2.1, which seems to be related to the size or complexity of the MIDI file, since I have had QuickTime hang my machine with other large MIDI files, too. You can confirm that a hang is caused by QuickTime, and not by ╡Zak, by opening the MIDI file in any QuickTime capable program (e.g. SimpleText or MoviePlayer). If your Mac hangs during the conversion, it definitely is a QuickTime bug. If it does not hang, it may still be a QuickTime problem. Try giving ╡Zak at least as much memory as the program which does manage to convert the file. If ╡Zak still crashes, report it to me.
  39. I am sorry that ╡Zak does crash on some input files, but there is little I can do about it. The crashes I know of all occur inside QuickTime when I ask it to convert a raw MIDI file. I assume that the MIDI file conversion of QuickTime does not handle out of memory situations well (this seems to have improved with QuickTime 2.5).
  40.  
  41. Ñ ╡Zak does not always recognize files correctly. Especially, if a file has type ╘TEXT╒, but an extension which claims it it not a plain text file, ╡Zak may treat it as either a text file or as a file of the type specified by its extension.
  42.  
  43. Ñ Playback of MOD files is implemented using the ╘Digital Sound Machine╒ (DSM) library by Dmitry Boldyrev. I have been wanting to implement MOD file playback, for a long time. The reason I have not done it before is a lack for a freeware MOD player with a nice, simple programming interface. Digital Sound Machine has such an interface, but I have not tested it much, and I have noticed that it can crash when memory is tight. In other words, trying to play MOD files may crash your machine. To prevent this from happening you should increase ╡Zak╒s memory allocation in the Finder. According to my limited testing the DSM library needs about 800 kilobytes of free memory to do its work. This does not mean that ╡Zak can not play MOD files when given its default partition. If ╡Zak does not find enough memory in its own partition it allocates memory in the free memory area, rather than in ╡Zak╒s own memory. Since the DSM library crashes when insufficient memory is available, I have included a ╘play MOD files╒ check box which controls whether attemps are made to play MOD files. I hope to take this button out in a future version of ╡Zak.
  44.  
  45. Ñ Error handling is poor. This is especially true for the MIDI conversion. I do not expect it to crash easily, but don't expect much feedback when conversion fails╔
  46.  
  47. Ñ NetScape can be configured to launch ╡Zak to play raw MIDI files. However, NetScape throws away downloaded files when it is quit. If you want to keep the files, you must copy them before quitting NetScape. I consider this a bug in NetScape; IMHO one should be able to tell NetScape what to do with the file at quit time.
  48.  
  49. Ñ With the QuickTime MPEG extension, QuickTime support MPEG files. I do not know how MPEG tracks are treated: do MPEG movies have separate MPEG video and sound tracks or do they have just a MPEG track? In the latter case, ╡Zak will not recognize the MPEG tracks as tracks containing sound, and sound tracks from MPEG files will not be played.
  50.  
  51. How to get the source:
  52.  
  53. ╡Zak is an example dropbox built with BoxMaker++, a C++ shell for the creation of System 7 compatible dropboxes. BoxMaker++ should be available on the net. The distribution of BoxMaker++ 1.5 contains the source code for ╡Zak (CodeWarrior 9; a version which does not play MOD files can be built using Symantec C++ 8.0, with Universal Headers). To build it, you will also need to download a copy of the ╘Digital Sound Machine╒ library by Dmitry Boldyrev.
  54.  
  55. Reporting bug fixes or bugs:
  56.  
  57. If you find a bug, it would be really nice if you obtained the source, and sent me both a bug report and its fix. Reporting bugs without giving a fix is also allowed. Before doing so, please consider (at least) the following questions:
  58.  
  59.     Ñ Is the problem related to the playing of certain files?
  60.         Ñ If so, is the problem also present when playing those files in MoviePlayer?
  61.             Ñ If not, does the problem go away when you give ╡Zak more memory?
  62.     Ñ Is the problem related to the presence of certain control panels or extensions?
  63.     Ñ Do you have any particularly strange setup?
  64.  
  65. If you report a problem, include a short description of
  66.  
  67.     Ñ your hardware setup (e.g. Macintosh IIsi with 12 MB RAM)
  68.     Ñ your software setup (e.g. System 7.2, standard extensions + RandomCrash 0.0a1)
  69.     Ñ the nature of the problem (e.g. does not play, crashes with Type 0 error)
  70.  
  71. Send this information to reinder@arnhem.alva-bv.nl. Your bug report does not have to include an extensive list of your extensions, control panels, and the like. If I want that, I will ask for it. Even if you do report a bug together with its fix, however, I do not promise to distribute an improved version.
  72.  
  73. Playing other sound formats:
  74.  
  75. An experienced C++ programmer should not find it difficult to add the capability to play other file formats to ╡Zak. If you do write such a thing for a particular sound format, it would be nice if you sent me the source. I may incorporate the source in a future release.
  76.  
  77. Desktop troubles:
  78.  
  79. Users of a previous version may need to rebuild their desktop in order to be able to drop Finder sounds, AIFF and AIFC files, SUN ╡Law files, raw MIDI files, Windows .WAV, MOD files, and files with types ╘BINA╒ or ╘????╒ on ╡Zak. This also gives you slightly altered icons.
  80.  
  81. Fat version:
  82.  
  83. ╡Zak 1.6 is distributed as a ╘fat╒ application, containing both 68K and PowerMac native code.
  84.  
  85. Hacking the ╘voic╒ resource
  86.  
  87. Normally, ╡Zak uses the default voice (as set with the Speech control panel) to speak text files. However, this can be overridden by including a ╘voic╒ resource with ID=128 in the resource fork of a ╘TEXT╒ file. This resource should contain a VoiceSpec, consisting of a creator and a ID. A quick, but not 100% failsafe method to obtain one is by copying bytes 5 to 12 of the ╘ttvd╒ resource of a voice file (using ResEdit, bytes 1 to 4 normally contain 0x0000016A, bytes 5 to 8 are ╘mtk3╒ for Macintalk 3).
  88.  
  89. Distribution policy:
  90.  
  91. ╡Zak may be freely used and distributed, as long as it is not modified and this file is distributed with it in unmodified form.
  92.  
  93. Version history:
  94.  
  95. 970220: 1.6 using BoxMaker++ 1.6
  96.                 Ñ Added playback of various MOD-type files using ╘Digital Sound Machine╒
  97.                    by Dmitry Boldyrev
  98.                 Ñ Scriptable and Recordable
  99.                 Ñ Dragging files onto the preferences window opens them
  100.                 Ñ Internet Config aware
  101. 961208: 1.5.1 using BoxMaker++ 1.5.1
  102.                 Ñ fixed a bug which made playing AIFF files impossible.
  103.                 Ñ Added ╘╡Zak Recorder╒
  104. 961201: 1.5 using BoxMaker++ 1.5
  105.                 Ñ now plays even with the about box open.
  106.                 Ñ Updated about box text. Increased memory requirements a bit, since
  107.                  256K is simply not enough to play complex files.
  108.                 Ñ Added pause/continue buttons.
  109.                 Ñ Revamped the graphics
  110.                 Ñ Added balloon help.
  111.                 Ñ Included fat version, compiled with CodeWarrior 9
  112. 950913: 1.4.1 using BoxMaker++ 1.4, update for use of QuickTime 2.1 features
  113.                  now can play Windows .WAV files.
  114. 950731: 1.4 using BoxMaker++ 1.4, added playing of AIFF files, Finder sounds,
  115.                  ╡Law sounds, and raw MIDI files. Added ╥don╒t Quit╙ check box.
  116.                  New about box, and attempt to make prefs dialog look prettier.
  117. 950630: 1.3.1 sent out to be published on Apprentice 3
  118. 950614: 1.3 released with BoxMaker 1.3, also released separately
  119.                  Allows selection of folders in ╘Open╔╒ Dialog box
  120. 950525: 1.2 released with BoxMaker++ 1.2, also released separately
  121.                  Added ╘Shuffle╒ and ╘Volume╒ controls
  122. 950115: 1.1 released with BoxMaker++ 1.1, also released separately
  123. 9412??: 1.0 for personal use only
  124.  
  125.  
  126.